package utils;

import items.BrandDTO;
import items.Service;
import items.Stockable;
import exceptions.EmptyFieldException;

public class StaticMethods {
	
	public static void hasEmptyFields(BrandDTO item) {
		hasEmptyFields(item.getBrand(),"El campo Marca no debe estar vacio");
		hasEmptyFields(item.getModel(),"El campo Modelo no debe estar vacio");
	}
	
	public static void serviceHasEmptyFields(Service item) {
		hasEmptyFields(item.getName(),"El campo Nombre no debe estar vacio");
		hasEmptyFields(item.getSalePrice(),"El campo Precio no debe estar vacio");
	}
	
	public static void accesoryHasEmptyFields(Stockable item ){
		hasEmptyFields(item.getName(),"Debe seleccionar un Tipo de Accesorio");
		hasEmptyFields(item.getBrand(),"El campo Marca no debe estar vacio");
		hasEmptyFields(item.getModel(),"El campo Modelo no debe estar vacio");
		hasEmptyFields(item.getMeasure(),"Debe seleccionar una Medida de Accesorio");
		hasEmptyFields(item.getListPrice(),"El campo Precio de Lista no debe estar vacio");
		hasEmptyFields(item.getSalePercentage(),"El campo Porcentaje para Venta no debe estar vacio");
		hasEmptyFields(item.getPurchasePercentage(),"El campo Porcentaje para Compra no debe estar vacio");
		hasEmptyFields(item.getStock(),"El campo Stock no debe estar vacio");
	}
	
	public static void accesoryHasEmptyFields(String stockableName,
			String brand, String model, String measure, String priceList,
			Double purchasePercent, Double salePercent, Integer stock) {
		hasEmptyFields(stockableName,"Debe seleccionar un Tipo de Accesorio");
		hasEmptyFields(brand,"El campo Marca no debe estar vacio");
		hasEmptyFields(model,"El campo Modelo no debe estar vacio");
		hasEmptyFields(measure,"Debe seleccionar una Medida de Accesorio");
		hasEmptyFields(priceList,"El campo Precio de Lista no debe estar vacio");
		hasEmptyFields(salePercent,"El campo Porcentaje para Venta no debe estar vacio");
		hasEmptyFields(purchasePercent,"El campo Porcentaje para Compra no debe estar vacio");
		hasEmptyFields(stock,"El campo Stock no debe estar vacio");
	}
	
	public static void hasEmptyFields(Object value, String errorMensaje){
		if(value == null || "".equals(value)){
			throw new EmptyFieldException(errorMensaje);
		}
	}

	
	
	
	

}
